package com.sdry.product.waitingarea.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sdry.basic.entity.Material;
import com.sdry.good.goodChain.entity.GoodChain;
import com.sdry.good.goodWarehouse.entity.GoodSortFrame;
import com.sdry.product.waitingarea.entity.StayContainerStare;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description 备货计划
 * @Author chenBin
 * @Date 2020-03-27 14:49
 * @Version 1.0
 **/
public interface StayContainerStareMapper extends BaseMapper<StayContainerStare> {

    /**
     * 成品链
     * @return List<Material>
     */
    List<Material> queryProductContainer1();

    /**
     * 成品库
     * @return List<Material>
     */
    List<Material> queryProductContainer2();

    /**
     * 查询成品链物料
     * @param psId 工位ID
     * @param maId 物料ID
     * @return List<GoodChain>
     */
    List<GoodChain> queryGoodChain(@Param("psId") String psId, @Param("maId") Long maId);

    /**
     * 删除这条记录
     * @param gcId 主键
     * @return Integer
     */
    Integer deleteGoodChain(@Param("gcId") Long gcId);

    /**
     * 查询库存
     * @param psId 编号
     * @param maId 物料
     * @return List<GoodSortFrame>
     */
    List<GoodSortFrame> queryGoodSortFrame(@Param("psId") String psId, @Param("maId") Long maId);

    /**
     * 成品库存
     * @param frameId
     * @return
     */
    Integer deleteGoodSortFrame(Long frameId);

    /**
     * 分页查询
     * @param stayContainerStare
     * @return
     */
    List<StayContainerStare> queryStayContainerStarePage(StayContainerStare stayContainerStare);

    /**
     * 总数
     * @param stayContainerStare
     * @return
     */
    Long queryStayContainerStareTotal(StayContainerStare stayContainerStare);

    /**
     * 修改容器绑定表数量
     * @param gcId
     * @param num
     * @return
     */
    Integer updateGoodContainerStare(@Param("gcId") Long gcId, @Param("num") Long num);

    /**
     * 删除
     * @param gcId 主键
     * @return
     */
    Integer deleteGoodContainerStare(@Param("gcId") Long gcId);

    /**
     * 修改库存
     * @param gcId 工位ID
     * @param maNum 数量
     * @return Integer
     */
    Integer updateGoodChain(@Param("gcId") Long gcId, @Param("maNum") Long maNum);
}
